生产者消费者设计模式
思考:
- 下面两行代码存在什么问题?
问题:
- 我们的代码是自上而下同步执行的。
- 发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟。
- 响应延迟会造成用户界面的倒计时延迟。
解决:
- 异步发送短信
- 发送短信和响应分开执行,将
发送短信
从主业务中解耦
出来。
思考:
- 如何将
发送短信
从主业务中解耦
出来。
生产者消费者设计模式介绍
- 为了将
发送短信
从主业务中解耦
出来,我们引入生产者消费者设计模式
。 - 它是最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联。
总结:
- 生产者生成消息,缓存到消息队列中,消费者读取消息队列中的消息并执行。
- 由美多商城生成发送短信消息,缓存到消息队列中,消费者读取消息队列中的发送短信消息并执行。